<?php
declare (strict_types=1);

namespace app\model;

use think\Model;
use think\model\concern\SoftDelete;
use app\traits\ModelTrait;

/**
 * 用户
 * Class User
 * @package app\model
 */
class User extends BaseModel
{
    public static $_table = "user";

    // 0 初始用户未填写资料，1 资料填写中，2 资料已填写
    const USER_STATUS_UNFILLED = 0;
    const USER_STATUS_FILLING = 1;
    const USER_STATUS_FINISH = 2;

    const USER_ROLE_ADMIN = 0;//管理员
    const USER_ROLE_FIRST = 1;//一级代理
    const USER_ROLE_SECOND = 2;//二级代理

    use SoftDelete;
    //时间字段显示格式
    protected $dateFormat = 'Y-m-d H:i:s';
    // 开启自动写入时间戳字段
    //protected $autoWriteTimestamp = 'datetime';
    //软删除时间
    protected $deleteTime = false;
    //软删除字段的默认值
    protected $defaultSoftDelete = 0;
    //只读字段，不允许被更改
    protected $readonly = [];
    //数据输出隐藏的属性
//    protected $hidden = ['user_id'];
    protected $pk = 'id';
    // 设置当前模型对应的完整数据表名称
    protected $table = 'user';
    //据输出显示的属性
    public static $showField = ['id','account', 'user_name', 'parent_id', 'password', 'role', 'enable', 'create_time'];

    // 0：管理员  1：一级  2：2级
    // 管理员
    const USER_TYPE_GLY = 0;
    // 一级
    const USER_TYPE_ONE = 1;
    // 2级
    const USER_TYPE_TWO = 2;

    const USER_TEXT_ARR = [
        self::USER_TYPE_GLY => '管理员',
        self::USER_TYPE_ONE => '一级',
        self::USER_TYPE_TWO => '二级',
    ];
    use ModelTrait;
}

